import request from '../../../../../public/js/common/api/api.js';
const SysAuthUrl = Utils.CurDomain.SysAuthUrl;
const SaleUrl = Utils.CurDomain.SaleUrl;
const SubDataUrl = Utils.CurDomain.SubDataUrl;
const BaseCfgUrl = Utils.CurDomain.BaseCfgUrl;
const AccountUrl = Utils.CurDomain.AccountUrl;
const SysPlfUrl = Utils.CurDomain.SysPlfUrl;
const MasterDataUrl = Utils.CurDomain.MasterDataUrl;
const OtherSynUrl = Utils.CurDomain.OtherSynUrl;

const configuration = {
    contentType: 'application/json',
    dataType: 'json',
    async: true,
    dataFilter(data, type) {
        return data;
    },
};

/**
 * @file销售订单API
 */
export default class saleOrdersAPI {
    // 查询销售订单详情
    static querySalesInfo(id) {
        return request.get(`${SaleUrl}/orderbills/${id}`);
    }
    // 修改销售订单
    static ediSalesList(id, data) {
        return request.put(`${SaleUrl}/orderbills/${id}`, data, true, configuration);
    }
    // 删除销售订单
    static delSalesList(id) {
        return request.delete(`${SaleUrl}/orderbills/${id}`);
    }
    // 新增销售订单列表
    static addSalesList(data) {
        return request.post(`${SaleUrl}/orderbills`, data, true, configuration);
    }
    // 销售订单列表
    static querySalesList(data) {
        return request.post(`${SaleUrl}/orderbills/list`, data);
    }
    // 搜索销售订单列表
    static seachEmployees(data) {
        return request.post(`${SaleUrl}/orderbills/plist`, data);
    }
    // 提交销售订单
    static submitSales(id) {
        return request.put(`${SaleUrl}/orderbills/submit/${id}`);
    }
    // 反提交销售订单
    static unsubmitSales(id) {
        return request.put(`${SaleUrl}/orderbills/resubmit/${id}`);
    }
    // 审核订单
    static auditSales(id) {
        return request.put(`${SaleUrl}/orderbills/audit/${id}`);
    }
    // 反审核销售订单
    static antiauditSales(id) {
        return request.put(`${SaleUrl}/orderbills/reaudit/${id}`);
    }

    // 获取登录用户拥有组织
    static postUserOrgsList() {
        return request.get(`${AccountUrl}/accounts/orgs`);
    }
    // 获取销售组织列表信息
    static getOrgsListType() {
        return request.get(`${SysPlfUrl}/yyorgunits/by/q/sale`);
    }
    // 根据JWT获取人员信息
    static getUserInfo() {
        //return request.get(SysAuthUrl + "/account/u");
        return request.get(`${AccountUrl}/accounts/orgs`);
    }
    /**
     * 获取服务部信息
     * @param data
     * @returns
     */
    static queryDepList(upoid, aotype, taginfo) {
        return request.get(`${SysPlfUrl}/yyorgunits/by/q?upoid=${upoid}&aotype=${aotype}&taginfo=${taginfo}`);
    }

    /**
     * 补充订单分录重量数量附件信息
     * @param {*} id
     * @returns
     */
    static postReplenish(data) {
        return request.post(`${SaleUrl}/orderbills/replenish`, data, { disTooltips: true, ajaxOptions: configuration });
    }

    /**
     * 修改订单车辆信息
     * @param {*} data
     * @returns
     */
    static putVehicle(data) {
        return request.put(`${SaleUrl}/orderbills/vehicle`, data);
    }
    /**
     * 查询销售订单预收款详情
     * @param data
     * @returns
     */
    static getOrderAdvances(id) {
        return request.get(`${SaleUrl}/orderadvances/${id}`);
    }
    /**
     * 销售订单预收款新增
     * @param ids
     * @returns
     */
    static postOrderadvances(data) {
        return request.post(`${SaleUrl}/orderadvances`, data);
    }
    /**
     * 编辑销售订单预收款
     * @param data
     * @returns
     */
    static updateOrderAdvances(id, data) {
        return request.put(`${SaleUrl}/orderadvances/${id}`, data);
    }

    // 查询用户信息
    static queryUserName(sid) {
        return request.get(`${Utils.CurDomain.WechatUrl}/wxauths/cur?sid=${sid}`);
    }

    /**
     * 销售单结算
     * @param id
     * @returns
     */
    static putAuditSettle(id) {
        return request.put(`${SaleUrl}/orderbills/auditsettle/${id}`);
    }

    /**
     * 销售单反结算
     * @param id
     * @returns
     */
    static putRollSettle(id) {
        return request.put(`${SaleUrl}/orderbills/resettle/${id}`);
    }

    /**
     * 查询销售订单预收款详情
     * @param data
     * @returns
     */
    static getOrderAdvances(id) {
        return request.get(`${SaleUrl}/orderadvances/${id}`);
    }

    /**
     * 查询销售计划列表
     * @param data
     * @returns
     */
    static postSalePlanList(data) {
        return request.post(`${SaleUrl}/planbills/plist`, data);
    }

    /**
     * 获取行政区划列表信息
     * @param {*} id
     * @returns
     */
    static getDistrictsType(type, id) {
        return request.get(`${SubDataUrl}/districts/q?l=${type}&pid=${id}`);
    }

    /**
     * 获取行政区划信息
     * @param {*} id
     * @returns
     */
    static getDistricts() {
        return request.get(`${SubDataUrl}/districts`);
    }

    /**
     * 获取养殖场
     * @param {*} id
     * @returns
     */
    static getFarms(id) {
        return request.get(`${BaseCfgUrl}/farms/o/${id}`);
    }

    /**
     * 全查销售定价表列表
     * @param data
     * @returns
     */
    static getSalesPricings() {
        return request.get(`${SaleUrl}/salespricings`);
    }
    /**
     * 获取SAP 所有物料
     * @returns
     */
    static postMaterial() {
        return request.get(`${MasterDataUrl}/yymaterials/q?MGroupId=SAP-1&PageSize=100000&PageIndex=0`);
    }
    /**
     *获取参数设置的值
     * @param {*} data
     * @returns
     */
    static getPrmtSettings(id) {
        return request.get(`${Utils.CurDomain.SubDataUrl}/prmtsettings/${id}/value`);
    }
    /**
     * 根据当前用户组织查询猪只列表
     * @param data
     * @returns
     */
    static postPigdocsList(data) {
        return request.post(`${Utils.CurDomain.PigUrl}/pigdocs/batch/list`, data);
    }
    /**
     * 查询定价表列表
     * @param data
     * @returns
     */
    static salesPricingsQuery(data) {
        return request.get(`${SaleUrl}/salespricings/by/q?saledate=${data.saledate}&farmid=${data.farmid}&customerid=${data.customerid}`, true);
    }
    /**
     * 配种记录 获取第一次配种日期
     * @param data
     * @returns
     */

    static getBreedingRecs(id) {
        return request.get(`${Utils.CurDomain.PigUrl}/breedingrecs/maxData/${id}`);
    }

    /**
     * 销售出库单 by销售订单id
     * @param data
     * @returns
     */
    static getDeliverBills(id) {
        return request.get(`${SaleUrl}/deliverbills/o/${id}`);
    }

    /**
     * 获取TMS养殖订单结果 获取车牌
     * @param id
     * @returns
     */
    static getTmsordersList(data) {
        return request.post(`${OtherSynUrl}/tmsorders/pig/detail`, data, true);
    }
}
